

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Thu Dec 27 16:29:03 2007
 */
/* Compiler settings for .\p4com.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __p4com_h__
#define __p4com_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __Ip4_FWD_DEFINED__
#define __Ip4_FWD_DEFINED__
typedef interface Ip4 Ip4;
#endif 	/* __Ip4_FWD_DEFINED__ */


#ifndef __p4_FWD_DEFINED__
#define __p4_FWD_DEFINED__

#ifdef __cplusplus
typedef class p4 p4;
#else
typedef struct p4 p4;
#endif /* __cplusplus */

#endif 	/* __p4_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __Ip4_INTERFACE_DEFINED__
#define __Ip4_INTERFACE_DEFINED__

/* interface Ip4 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_Ip4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7D963D4-7AC8-4B89-B768-16F900DB2A93")
    Ip4 : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Charset( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Charset( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Client( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Client( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Cwd( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Cwd( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Host( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Host( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Language( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Password( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Password( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Port( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_User( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors( 
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Warnings( 
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE run( 
            BSTR cmd,
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExceptionLevel( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExceptionLevel( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Tagged( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ParseForms( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TempFilename( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Var( 
            BSTR varName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Var( 
            BSTR varName,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VarExists( 
            BSTR varName,
            /* [retval][out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrayVar( 
            BSTR varName,
            /* [retval][out] */ SAFEARRAY * *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrayVar( 
            BSTR varName,
            /* [in] */ SAFEARRAY * *newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Os( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ServerVersion( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrayVar_variant( 
            BSTR varName,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrayVar_variant( 
            BSTR varName,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE run_variant( 
            BSTR cmd,
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors_variant( 
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Warnings_variant( 
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Input( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FormatDateTime( 
            /* [in] */ long unixtime,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Dropped( 
            /* [retval][out] */ long *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct Ip4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Ip4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Ip4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Ip4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Ip4 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Ip4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Ip4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Ip4 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Charset )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Charset )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Client )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Client )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cwd )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cwd )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Host )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Host )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Password )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Password )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Port )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_User )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors )( 
            Ip4 * This,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Warnings )( 
            Ip4 * This,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *run )( 
            Ip4 * This,
            BSTR cmd,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            Ip4 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            Ip4 * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExceptionLevel )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExceptionLevel )( 
            Ip4 * This,
            /* [in] */ long newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Tagged )( 
            Ip4 * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ParseForms )( 
            Ip4 * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TempFilename )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Var )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Var )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VarExists )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ BOOL *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrayVar )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ SAFEARRAY * *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrayVar )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ SAFEARRAY * *newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Os )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerVersion )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrayVar_variant )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ VARIANT newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrayVar_variant )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *run_variant )( 
            Ip4 * This,
            BSTR cmd,
            /* [retval][out] */ VARIANT *vArray);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors_variant )( 
            Ip4 * This,
            /* [retval][out] */ VARIANT *vArray);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Warnings_variant )( 
            Ip4 * This,
            /* [retval][out] */ VARIANT *vArray);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Input )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FormatDateTime )( 
            Ip4 * This,
            /* [in] */ long unixtime,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Dropped )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        END_INTERFACE
    } Ip4Vtbl;

    interface Ip4
    {
        CONST_VTBL struct Ip4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Ip4_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define Ip4_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define Ip4_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define Ip4_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define Ip4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define Ip4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define Ip4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define Ip4_get_Charset(This,pVal)	\
    (This)->lpVtbl -> get_Charset(This,pVal)

#define Ip4_put_Charset(This,newVal)	\
    (This)->lpVtbl -> put_Charset(This,newVal)

#define Ip4_get_Client(This,pVal)	\
    (This)->lpVtbl -> get_Client(This,pVal)

#define Ip4_put_Client(This,newVal)	\
    (This)->lpVtbl -> put_Client(This,newVal)

#define Ip4_get_Cwd(This,pVal)	\
    (This)->lpVtbl -> get_Cwd(This,pVal)

#define Ip4_put_Cwd(This,newVal)	\
    (This)->lpVtbl -> put_Cwd(This,newVal)

#define Ip4_get_Host(This,pVal)	\
    (This)->lpVtbl -> get_Host(This,pVal)

#define Ip4_put_Host(This,newVal)	\
    (This)->lpVtbl -> put_Host(This,newVal)

#define Ip4_get_Language(This,pVal)	\
    (This)->lpVtbl -> get_Language(This,pVal)

#define Ip4_put_Language(This,newVal)	\
    (This)->lpVtbl -> put_Language(This,newVal)

#define Ip4_get_Password(This,pVal)	\
    (This)->lpVtbl -> get_Password(This,pVal)

#define Ip4_put_Password(This,newVal)	\
    (This)->lpVtbl -> put_Password(This,newVal)

#define Ip4_get_Port(This,pVal)	\
    (This)->lpVtbl -> get_Port(This,pVal)

#define Ip4_put_Port(This,newVal)	\
    (This)->lpVtbl -> put_Port(This,newVal)

#define Ip4_get_User(This,pVal)	\
    (This)->lpVtbl -> get_User(This,pVal)

#define Ip4_put_User(This,newVal)	\
    (This)->lpVtbl -> put_User(This,newVal)

#define Ip4_get_Errors(This,valArray)	\
    (This)->lpVtbl -> get_Errors(This,valArray)

#define Ip4_get_Warnings(This,valArray)	\
    (This)->lpVtbl -> get_Warnings(This,valArray)

#define Ip4_run(This,cmd,valArray)	\
    (This)->lpVtbl -> run(This,cmd,valArray)

#define Ip4_Connect(This)	\
    (This)->lpVtbl -> Connect(This)

#define Ip4_Disconnect(This)	\
    (This)->lpVtbl -> Disconnect(This)

#define Ip4_get_ExceptionLevel(This,pVal)	\
    (This)->lpVtbl -> get_ExceptionLevel(This,pVal)

#define Ip4_put_ExceptionLevel(This,newVal)	\
    (This)->lpVtbl -> put_ExceptionLevel(This,newVal)

#define Ip4_Tagged(This)	\
    (This)->lpVtbl -> Tagged(This)

#define Ip4_ParseForms(This)	\
    (This)->lpVtbl -> ParseForms(This)

#define Ip4_get_TempFilename(This,pVal)	\
    (This)->lpVtbl -> get_TempFilename(This,pVal)

#define Ip4_get_Var(This,varName,pVal)	\
    (This)->lpVtbl -> get_Var(This,varName,pVal)

#define Ip4_put_Var(This,varName,newVal)	\
    (This)->lpVtbl -> put_Var(This,varName,newVal)

#define Ip4_get_VarExists(This,varName,pVal)	\
    (This)->lpVtbl -> get_VarExists(This,varName,pVal)

#define Ip4_get_ArrayVar(This,varName,pVal)	\
    (This)->lpVtbl -> get_ArrayVar(This,varName,pVal)

#define Ip4_put_ArrayVar(This,varName,newVal)	\
    (This)->lpVtbl -> put_ArrayVar(This,varName,newVal)

#define Ip4_get_Os(This,pVal)	\
    (This)->lpVtbl -> get_Os(This,pVal)

#define Ip4_get_ServerVersion(This,pVal)	\
    (This)->lpVtbl -> get_ServerVersion(This,pVal)

#define Ip4_put_ArrayVar_variant(This,varName,newVal)	\
    (This)->lpVtbl -> put_ArrayVar_variant(This,varName,newVal)

#define Ip4_get_ArrayVar_variant(This,varName,pVal)	\
    (This)->lpVtbl -> get_ArrayVar_variant(This,varName,pVal)

#define Ip4_run_variant(This,cmd,vArray)	\
    (This)->lpVtbl -> run_variant(This,cmd,vArray)

#define Ip4_get_Errors_variant(This,vArray)	\
    (This)->lpVtbl -> get_Errors_variant(This,vArray)

#define Ip4_get_Warnings_variant(This,vArray)	\
    (This)->lpVtbl -> get_Warnings_variant(This,vArray)

#define Ip4_put_Input(This,newVal)	\
    (This)->lpVtbl -> put_Input(This,newVal)

#define Ip4_FormatDateTime(This,unixtime,pVal)	\
    (This)->lpVtbl -> FormatDateTime(This,unixtime,pVal)

#define Ip4_Dropped(This,pVal)	\
    (This)->lpVtbl -> Dropped(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Charset_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Charset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Charset_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Charset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Client_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Client_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Client_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Client_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Cwd_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Cwd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Cwd_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Cwd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Host_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Host_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Host_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Host_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Language_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Language_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Language_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Language_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Password_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Password_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Password_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Password_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Port_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Port_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Port_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Port_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_User_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_User_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_User_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_User_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Errors_Proxy( 
    Ip4 * This,
    /* [retval][out] */ SAFEARRAY * *valArray);


void __RPC_STUB Ip4_get_Errors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Warnings_Proxy( 
    Ip4 * This,
    /* [retval][out] */ SAFEARRAY * *valArray);


void __RPC_STUB Ip4_get_Warnings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_run_Proxy( 
    Ip4 * This,
    BSTR cmd,
    /* [retval][out] */ SAFEARRAY * *valArray);


void __RPC_STUB Ip4_run_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_Connect_Proxy( 
    Ip4 * This);


void __RPC_STUB Ip4_Connect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_Disconnect_Proxy( 
    Ip4 * This);


void __RPC_STUB Ip4_Disconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_ExceptionLevel_Proxy( 
    Ip4 * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB Ip4_get_ExceptionLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_ExceptionLevel_Proxy( 
    Ip4 * This,
    /* [in] */ long newVal);


void __RPC_STUB Ip4_put_ExceptionLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_Tagged_Proxy( 
    Ip4 * This);


void __RPC_STUB Ip4_Tagged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_ParseForms_Proxy( 
    Ip4 * This);


void __RPC_STUB Ip4_ParseForms_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_TempFilename_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_TempFilename_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Var_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Var_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Var_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Var_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_VarExists_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [retval][out] */ BOOL *pVal);


void __RPC_STUB Ip4_get_VarExists_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_ArrayVar_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [retval][out] */ SAFEARRAY * *pVal);


void __RPC_STUB Ip4_get_ArrayVar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_ArrayVar_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [in] */ SAFEARRAY * *newVal);


void __RPC_STUB Ip4_put_ArrayVar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Os_Proxy( 
    Ip4 * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_get_Os_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_ServerVersion_Proxy( 
    Ip4 * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB Ip4_get_ServerVersion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_ArrayVar_variant_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [in] */ VARIANT newVal);


void __RPC_STUB Ip4_put_ArrayVar_variant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_ArrayVar_variant_Proxy( 
    Ip4 * This,
    BSTR varName,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB Ip4_get_ArrayVar_variant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_run_variant_Proxy( 
    Ip4 * This,
    BSTR cmd,
    /* [retval][out] */ VARIANT *vArray);


void __RPC_STUB Ip4_run_variant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Errors_variant_Proxy( 
    Ip4 * This,
    /* [retval][out] */ VARIANT *vArray);


void __RPC_STUB Ip4_get_Errors_variant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE Ip4_get_Warnings_variant_Proxy( 
    Ip4 * This,
    /* [retval][out] */ VARIANT *vArray);


void __RPC_STUB Ip4_get_Warnings_variant_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE Ip4_put_Input_Proxy( 
    Ip4 * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB Ip4_put_Input_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_FormatDateTime_Proxy( 
    Ip4 * This,
    /* [in] */ long unixtime,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB Ip4_FormatDateTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Ip4_Dropped_Proxy( 
    Ip4 * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB Ip4_Dropped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __Ip4_INTERFACE_DEFINED__ */



#ifndef __P4COM_LIBRARY_DEFINED__
#define __P4COM_LIBRARY_DEFINED__

/* library P4COM */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_P4COM;

EXTERN_C const CLSID CLSID_p4;

#ifdef __cplusplus

class DECLSPEC_UUID("0709D2DF-09E0-4DBF-AECB-9B997006C0B4")
p4;
#endif
#endif /* __P4COM_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


